The present invention relates generally to the field of information technology and electronic data presentation, manipulation and storage. In particular, it relates to a mechanism and method for modifying the contents of storage of a block of cells in tabular format.
The presentation and storage of information and data in electronic form is well known in the art. One particularly useful mechanism has been the use of electronic spreadsheets for performing calculations and storing data. In addition, commercial database products, with appropriately programmed interfaces, are also useful for data storage and manipulation. Tables may be stored in spreadsheet applications, such as Lotus 1-2-3(trademark) from Lotus Corporation, or Excel by Microsoft(trademark), running on a typical personal computer, or stored in a database accessible through a database management system or application interface. Many tables created by applications such as Excel allow for range editing by applying a formula to a block of cells that are of the same data type. When the user is presented with many rows of data in a table, the user can modify this data by editing the individual cells. If a relationship can be applied to the data, then most tables allow the user to apply a certain formula to the selected cells as long as the data is of the same data type. One limitation of such systems is that it is difficult to edit only a subset of the table. Most prior art systems allow for only the editing of individual cells along a particular axis. Moreover, when more than one cell is involved, all affected cells must be of the same data type. Prior art systems lack the ability to alter, modify or edit a subset of cells of a table, where the cells are of different data types. Such prior art systems also lack a mechanism or method of editing only partially the data lying on an axis of the table.
The present invention may be adopted for use in tables stored in any format including applications such as, spreadsheets, and databases. The method of the present invention is a component that extends the functionality of a given table. The inventive method facilitates editing of a block of cells in a table even if the different columns are not of the same data type. It also can be applied to multi-dimensional tables.
The present invention allows the user to apply a particular editing rule to the different cells on an axis in a self-contained user interface. For example, if the administrator of a very large communication system needs to program all the directory numbers of the system and their corresponding characteristics, he or she can select the rows across the different columns and invoke the user interface of the present invention. These directory numbers are in a sequential order; therefore the administrator can specify the starting directory number and assign an incrementing rule to all the selected cells. If the administrator needs to program other characteristics beside the directory numbers, he or she can apply a rule to each column or even leave a particular column unchanged.
The method of the present invention extends the functionality of a table in that it facilitates modification of data for a block of cells in a table. It also allows the modification of data in different columns that don""t have to be of the same data type at the same time. Further, it provides more control through improved validation of the modified data.
According to one aspect of the present invention there is provided a method of manipulation of cells within a table on an interactive user display comprising the steps of: (a) selecting a subset of cells of the table as a block on the display, the block having an orientation of fields of the cells along at least one dimension; (b) determining data characteristics of the block for each field in the direction of orientation; (c) selecting representative data from the block for each field in the direction of orientation; (d) generating a first interface displaying for each field one or more data characteristics; and corresponding representative data as an editable element; (e) making user desired modifications to each editable element to form a changed element; (f) applying corresponding modifications of each changed element to all cells of the block in a direction perpendicular to the orientation to form an altered block; (g) outputting the altered block to the table for display.